#include "ObjectHelper.h"

#ifndef _TRANSFORMS_H_
#define _TRANSFORMS_H_

class Transform {
    public:
        Transform() {
        
        }
};

class Scale : public Transform {
    vec3 scaleRatio;
    
    public:
        Scale() {
            scaleRatio = vec3(1.0f);
        }
        
        Scale(float x, float y, float z) {
            scaleRatio = vec3(x, y, z);
        }
        
        Scale(vec3 ratio) {
            scaleRatio = vec3(ratio);
        }
};

class Translate : public Transform {
    vec3 offset;
    
    public:
        Translate() {
            offset = vec3(0.0f);
        }
        
        Translate(float x, float y, float z) {
            offset = vec3(x, y, z);
        }
        
        Translate(vec3 trans) {
            offset = vec3(trans);
        }
};

class Rotate : public Transform {
    vec3 axis;
    
    public:
        Rotate() {
            axis = vec3(0.0f);
        }
        
        Rotate(float x, float y, float z) {
            axis = vec3(x, y, z);
        }
        
        Rotate(vec3 rot) {
            axis = vec3(rot);
        }
};

#endif
